from dataclasses import dataclass

import pyautogui

@dataclass
class SizeConfig:
    width: int
    height: int
    msg_top_x: int
    msg_top_y: int
    msg_width: int
    msg_height: int
    menu_width: int
    menu_height: int


def suggest_size() -> SizeConfig:
    """
    根据当前屏幕大小，给出建议的窗口大小
    VL模型有最适合的尺寸，不能设置太大或者太小建议是28的倍数
    同时要考虑底部状态栏的影响
    宽度设置为屏幕宽度的一半，最大不能超过1008
    高度设置为屏幕高度减去任务栏的高度，任务栏就认为是100吧
    宽高都需要是28的倍数
    """
    screen_size = pyautogui.size()
    width = screen_size.width // 2
    height = screen_size.height - 80
    width = 1008
    if height < 812:
        height = 812
    if height > 2000:
        height = 2000
    # input_height, input_width = smart_resize(height, width)
    return SizeConfig(width, height, 0, 0, 0, 0, 130, 450)